home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
fb386
/
lib
/
powergui
/
powergui.ggg
< prev
Wrap
Text File
|
1995-03-30
|
5KB
|
136 lines
Power GUI system
C”( C two prime ) 4th edition [ Duplicate me! mix ]
(後注:開発が間に合わなくて、今回はβバージョンとなっております。)
for F-BASIC 386 V2.1 L10 以降
Programmed by Hirotaka Matsuoka
本作品は、F-BASIC 386 用のGUIシステムです。
「ユーザーにはもちろん、プログラマーにも優しい環境」、を開発コンセプトに、
●設計基盤
●部品の種類
●デザイン
●プログラムの可読性
●設定項目の簡略化(極力コンピュータに決めさせる)
●GUIファイルセレクタの調達
の全てにおいて、頭一つ抜け出た、安定したBASIC用GUIアプリを作成できます。
後注: といえるはずだったのですが、諸事情により、ファイルセレクタは未完成
です。
とはいっても、
ボタン
ウィンドウ
アイコン
オリジナルフォント表示
スクロールバー無しのリストメニュー
は、許容範囲内で動くので、また、できるだけ早く発表したいと思ったた
め、発表する事にしました。
また、本パッケージ内の説明書は、完成している事を前提に書いています
ので、βバージョンである本パッケージでは、説明書と食い違う部分も、ま
ま、あります。
しかも、のんびり説明書を書いている時間もない状態なので、説明不足な
点もあるかと思いますが、βバージョンという事でお許し下さい。
もし、説明書の不備で使い方が分からない場合には、速攻で作ったサンプ
ルプログラムがありますので、そちらをご参考下さい。
正直言って、時間に関してはそこそこ苦しい中での作成だったのですが、
出さないというのもなんなので、出させていただきました。
なーんてヨタ話はさておき、説明書に戻るっぺよ。
特に、部品の設定項目の簡略化ぶりと、プログラムの可読性の高さは注目すべきで、例を挙げるなら、例えば、ウィンドウを開く場合なんか、
< プログラム > < 注 釈 >
PGUI_NAME$ = "メニュー" ' NAME$ --- 部品に名前を付けられる
PGUI_TYPE$ = "WINDOW" ' TYPE$ --- 部品の種類
PGUI_FORM$ = "T-OS" ' FORM$ --- 部品の形、ここでは Towns OS 型
PGUI_POS$ = "中央" ' POS$ ---- 部品の座標、ここでは中央
PGUI_WX = 200 ' WX / WY - 部品の大きさ
PGUI_WY = 100
GOSUB *PGUI_ENTRY ' 設定後は登録を行い、有効にする。
PGUI_NAME$ = "メニュー" ' 登録したウィンドウの名前を指定して、
GOSUB *PGUI_WIN_OPEN ' ウィンドウをオープン
と、これをみれば、だれでも、
TOWNS OS 型のウィンドウを真ん中に 200×100 ドットの大きさで開く
ということが、分かると思います。また、横にボタンを2つ並べる場合も、
1つ目が
PGUI_TYPE$ = "BUTTON"
PGUI_FORM$ = "ROUND"
PGUI_DISP$ = "取 消" ' DISP$ ---- 表示する文字列
PGUI_SX = 100
PGUI_SY = 120
GOSUB *PGUI_ENTRY
と設定されていれば、2つ目以降は
PGUI_DISP$ = "実 行"
PGUI_POS$ = "さっきの左"
GOSUB *PGUI_ENTRY
というような、変態的な日本語指定が可能です。
(後注:このような指定は、本バージョンでは、ウィンドウ位置に「中央」のみが
指定可能です。βバージョンという事でお許し下さい。)
なお、この設定だと、「実 行」「取 消」と表示された、角の丸いボタンが、2つ並んで表示されます。
そして、プログラム中では、
IF PGUI_RETURN$ = "実 行" THEN ・・・・・・
というように指定した日本語が返ってくるのを待つだけですから、これなら、初心者のあなたも、即、GUIの恩恵にあずかれる事でしょう。
また、ここでは、ボタンの大きさを特に指定しませんでしたが、大きさは、表示文字数から自動で決まります。
もちろん、大きさの指定や、表示内容の部品内座標、ボタンの表示位置、等々は、任意でも指定できますが、そんな事はコンピュータがするべき事です。
・・・なんていうコンセプトで開発されたのが、このプログラムです。
確かに、ウィンドウがスタック型だとか、構造上、処理がちょっと重い、といった問題もありますが、そろそろ Pentium が標準か・・・なんていう御時世ですので、(P6も今年中には出るみたいだし・・・Pentium の2倍の速さだとか・・・すごい。)互換モードのインタプリタでの動作が少し重いなんてことは、枝葉末節です。
また、本プログラムでは、GUIレイアウタでデザインすると、プログラムの骨組みが出力されて・・・というのを嫌ったため、分岐やプログラム全体の設計は、あくまでもプログラマーがやります。
とはいえ、作り始めの段階で、突然「このボタンを押した時に呼び出されるサブルーチンの名前を決めてください」なんて要求してくるレイアウターを考えれば、BASICプログラマーには、このほうが扱いやすいと思います。
他のBASIC用GUIシステムを駆逐すべく開発されたこのシステム。BASICプログラマーの方は必見ですよっ。
(後注:でもβバージョンなんだよなぁ)